<!DOCTYPE html>
<style>
body {
  margin: 0px;
}

.scroller {
  overflow: scroll;
  width: 200px;
  height: 600px;
}

.composited {
  will-change: transform;
}

.box {
  background: rgba(0, 255, 0, 0.9);
  position: sticky;
  width: 185px;
  height: 50px;
  top: 0px;
}

.indicator {
  position: absolute;
  width: 185px;
  height: 50px;
  top: 20px;
  background: red; /* covered up by .box when working */
}

.container {
  width: 100%;
  height: 1000px;
  background: grey;
}
</style>

<div id="scroller" class="scroller">
  <div class="composited container">
    <div class="indicator"></div>
    <div class="box"></div>
  </div>
</div>

<script>
  if (window.testRunner)
    testRunner.waitUntilDone()

  function doTest() {
    let scroller = document.getElementById('scroller');
    window.requestAnimationFrame(function() {
      scroller.scrollTop = 20;
      if (window.testRunner)
        testRunner.notifyDone();
    });
  }

  window.addEventListener('load', function() {
    window.requestAnimationFrame(function() {
      window.requestAnimationFrame(doTest);
    })
  });
</script>

